﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using QuanLyDiem.models;
using QuanLyDiem.DanhMuc;
using QuanLyDiem.Controllers;
using Library.UI.Grid;
using Library.UI.Form;
namespace QuanLyDiem.DanhMuc
{
    public partial class frmChuongTrinhDaoTao : DevExpress.XtraEditors.XtraForm
    {
        public frmChuongTrinhDaoTao()
        {
            InitializeComponent();
        }
        public List<EXT_ChuongTrinhDaoTao> EXT_CTDT = new List<EXT_ChuongTrinhDaoTao>();
        public int abc { get; set; }
        private void frmChuongTrinhDaoTao_Load(object sender, EventArgs e)
        {
            Context db = new Context();
            gridView1.Config(true, false, false, false, true, false, true, false, false);
            gridView1.Config2(DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect, false, true);
            C_He.LoadDataSource(lueHe,db);
            C_He.LoadDataSource(rleHe, db);
            C_Khoa.LoadDataSource(lueKhoa,db);
            C_Khoa.LoadDataSource(rleKhoa, db);
            C_ChuyenNganh.LoadDataSource(lueChuyenNganh,db);
            C_ChuyenNganh.LoadDataSource(rleChuyenNganh, db);
            C_CTDaoTao.LoadViewBindingSource(chuongTrinhDaoTaoBindingSource);
            gridView1.BestFitAllColumns();
        }
        private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            var CTDT = gridView1.GetFocusedRow() as ChuongTrinhDaoTao;
            if (CTDT == null) return;
            lueHe.EditValue = CTDT.ID_he;
            lueKhoa.EditValue = CTDT.ID_khoa;
            txtKhoaHoc.Text = CTDT.Khoa_hoc.ToString();
            lueChuyenNganh.EditValue = CTDT.ID_chuyen_nganh;
            
        }

        private void btnthem_Click(object sender, EventArgs e)
        {
            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = false;
            lueChuyenNganh.Enabled = lueHe.Enabled = lueKhoa.Enabled = txtKhoaHoc.Enabled = true;
            txtKhoaHoc.Text = "";
            abc = 1;
            btnthuchien.Enabled = btnhuy.Enabled = true;
            
        }

        private void btnsua_Click(object sender, EventArgs e)
        {
            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = false;
            lueChuyenNganh.Enabled = lueHe.Enabled = lueKhoa.Enabled = txtKhoaHoc.Enabled = true;
            abc = 2;
            btnthuchien.Enabled = btnhuy.Enabled = true;
        }

        private void btnxoa_Click(object sender, EventArgs e)
        {
            if (gridView1.FocusedRowHandle < 0) return;
            var rs = MessageBox.Show("Bạn có muốn xóa dữ liệu không", "Chú ý", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
            if (rs == System.Windows.Forms.DialogResult.Yes)
            {
                try
                {
                    Context db = new Context();
                    var ctdt = gridView1.GetFocusedRow() as ChuongTrinhDaoTao;
                    var delete = db.ChuongTrinhDaoTaos.SingleOrDefault(a => a.ID_dt == ctdt.ID_dt);
                    db.ChuongTrinhDaoTaos.DeleteOnSubmit(delete);
                    db.SubmitChanges();
                    chuongTrinhDaoTaoBindingSource.DataSource = db.ChuongTrinhDaoTaos;
                    gridView1.BestFitAllColumns();
                    MessageBox.Show("Xóa dữ liệu thành công", "Thông báo");
                    lueChuyenNganh.Enabled = lueHe.Enabled = lueKhoa.Enabled = txtKhoaHoc.Enabled = false;
                }
                catch (Exception)
                {
                    MessageBox.Show("Lỗi");
                }
            }
        }

        private void btnthuchien_Click(object sender, EventArgs e)
        {
            Context db = new Context();
            if (txtKhoaHoc.Text == "")
            {
                MessageBox.Show("Bạn phải nhập đủ dữ liệu");
            }
            else
            {
                if (abc == 1)
                {
                    var rs = MessageBox.Show("Bạn có muốn thêm dữ liệu không", "Chú ý", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    if (rs == System.Windows.Forms.DialogResult.Yes)
                    {
                        try
                        {

                            var ctdt = new ChuongTrinhDaoTao()
                            {
                                ID_he = (int)lueHe.EditValue,
                                ID_khoa = (int)lueKhoa.EditValue,
                                ID_chuyen_nganh = (int)lueChuyenNganh.EditValue,
                                Khoa_hoc = int.Parse(txtKhoaHoc.Text)
                            };

                            db.ChuongTrinhDaoTaos.InsertOnSubmit(ctdt);
                            db.SubmitChanges();
                            chuongTrinhDaoTaoBindingSource.DataSource = db.ChuongTrinhDaoTaos;
                            gridView1.BestFitAllColumns();
                            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = true;
                            btnthuchien.Enabled = btnhuy.Enabled = false;
                            MessageBox.Show("Thêm dữ liệu thành công", "Thông báo");
                            lueChuyenNganh.Enabled = lueHe.Enabled = lueKhoa.Enabled = txtKhoaHoc.Enabled = false;

                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Lỗi");
                        }
                    }
                }
                else if (abc == 2)
                {
                    var rs = MessageBox.Show("Bạn có muốn sửa dữ liệu không", "Chú ý", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    if (rs == System.Windows.Forms.DialogResult.Yes)
                    {
                        try
                        {

                            var CTDT = gridView1.GetFocusedRow() as ChuongTrinhDaoTao;
                            CTDT.ID_chuyen_nganh = (int)lueChuyenNganh.EditValue;
                            CTDT.ID_he = (int)lueHe.EditValue;
                            CTDT.ID_khoa = (int)lueKhoa.EditValue;
                            CTDT.Khoa_hoc = int.Parse(txtKhoaHoc.Text);
                            var update = db.ChuongTrinhDaoTaos.SingleOrDefault(a => a.ID_dt == CTDT.ID_dt);
                            update.ID_chuyen_nganh = CTDT.ID_chuyen_nganh;
                            update.ID_he = CTDT.ID_he;
                            update.ID_khoa = CTDT.ID_khoa;
                            update.Khoa_hoc = CTDT.Khoa_hoc;
                            db.SubmitChanges();
                            chuongTrinhDaoTaoBindingSource.DataSource = db.ChuongTrinhDaoTaos;
                            gridView1.BestFitAllColumns();
                            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = true;
                            btnthuchien.Enabled = btnhuy.Enabled = false;
                            MessageBox.Show("Sửa dữ liệu thành công", "Thông báo");
                            lueChuyenNganh.Enabled = lueHe.Enabled = lueKhoa.Enabled = txtKhoaHoc.Enabled = false;
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Lỗi");
                        }
                    }
                }
            }
        }

        private void btnthoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void lookUpEdit2_EditValueChanged(object sender, EventArgs e)
        {

        }

        private void txtKhoaHoc_EditValueChanged(object sender, EventArgs e)
        {

        }

        private void txtKhoaHoc_Validating(object sender, CancelEventArgs e)
        {
            //if (string.IsNullOrEmpty(txtKhoaHoc.Text))
            //{
            //    MessageBox.Show("Chưa nhập dữ liệu khóa học");
            //    txtKhoaHoc.SetFocus();
            //}
        }

        private void btnhuy_Click(object sender, EventArgs e)
        {
            var CTDT = gridView1.GetFocusedRow() as ChuongTrinhDaoTao;
            if (CTDT == null) return;
            lueHe.EditValue = CTDT.ID_he;
            lueKhoa.EditValue = CTDT.ID_khoa;
            txtKhoaHoc.Text = CTDT.Khoa_hoc.ToString();
            lueChuyenNganh.EditValue = CTDT.ID_chuyen_nganh;
            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = true;
            lueChuyenNganh.Enabled = lueHe.Enabled = lueKhoa.Enabled = txtKhoaHoc.Enabled = false;
            btnthuchien.Enabled = btnhuy.Enabled = false;
        }

    }
}